(1.3.3.2) Reading source code roughly
When reading the source code, I recommend starting roughly and gradually detailed. The book "Complete explanation of Ruby source code" (*20) has a section "Introduction to source code reading" in the introduction. It says not to read the contents of a function from the beginning but to read roughly and gradually detailed as follows. (*21) Read a document describing the internal structure if any
Read directory structure
Read file structure
Research abbreviations
Know the data structure
Understand the calling relationship between functions
Read function
In the case of books, the documents describing the internal structure are sometimes a part of the foreword. For this book, it is (0.3) Structure of this book. The directory structure and the file structure corresponds to chapters and sections in books. After that, you investigate the abbreviations *22, the structure of the data shared between the functions, the relation between the functions, and finally read the detailed implementation of the function.
---
Footnotes:
*20: Aoki Mineo / supervised by Yukihiro Matsumoto (Matz) "Complete explanation of Ruby source code" Impress, 2002. You can read all the chapters of the book on the web page. http://i.loveruby.net/en/rhg/book/ *22 Abbreviations are frequent concepts, and they are abbreviated because the author do not want to write every time. Those who use abbreviations know the meaning of abbreviations. And they implicitly assume that the readers also understand the meaning of abbreviations. For example, they think that "if I write GC, anyone understand it stand for Garbage Collection." Even If they notice the possibility that someone does not know it, they write a single line "GC stands for Garbage Collection" somewhere in the document. No one explains the meaning of abbreviation at every occurrence. If you do not understand the meaning of abbreviations, it is vital to know the meaning first. en.icon
---
This page is auto-translated from /nishio/(1.3.3.2) Reading source code roughly. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at @nishio_en. I'm very happy to spread my thought to non-Japanese readers.